// 引入axios
import axios from "axios";
//引入nprogress
import nprogress from "nprogress";
// 引入nprogress 的css
import "nprogress/nprogress.css";

// 默认路径及请求时间限制
const ajax = axios.create({
  baseURL: "/api",
  timeout: 5000,
});
//  请求拦截器
ajax.interceptors.request.use((config) => {
  //请求发送前 进度条开始
  nprogress.start();
  // 返回数据
  return config;
});

// 相应拦截器
ajax.interceptors.response.use(
  (response) => {
    // 进度条结束
    nprogress.done();
    return response.data;
  },
  (err) => {
    // 进度条结束
    nprogress.done();
    //  统一提示所有ajax响应错误
    alert(err);
    //中断Promise链，以后程序员发请求的时候，就不用写失败的回调了
    return new Promise(() => {});
  }
);

export default ajax;
